package org.lisy.java.collection;

import java.util.HashSet;
import java.util.Iterator;

public class HashSetOperate {

	/**
	 * Set：元素是无序（存入和取出的顺序不一定一致），元素不可以重复
	 * 	HashSet：底层结构是哈希表
	 * 	TreeSet：数据结构是二叉树
	 */
    public static void main(String[] args) {
    	/**
         * HashSet保证元素的唯一性方法
         * 	通过元素的两个方法，hasCode和equals来完成的
         * 	如果元素的hasCode相同。才会去判断equals是否为true
         * 	如果元素的hasCode不同。不会调用equals
         */
        HashSet<String> set = new HashSet<>();
        set.add("hello 01");
        set.add("hello 02");
        set.add("hello 03");
        set.add("hello 04");

        // set取出只有一种办法，迭代器
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            sop(iterator.next());
        }
    }

    public static void sop(Object obj) {
        System.out.println(obj);

    }
}
